package com.stars.system.reim.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 报销记录（个人）对象 stars_reim_record
 * 
 * @author shuaibizhe
 * @date 2022-11-14
 */
public class ReimDailyRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private String reimId;

    /** 报销时间（吃饭或打车的时间） */
    @Excel(name = "报销时间", readConverterExp = "吃饭或打车的时间")
    private Date reimDate;

    /** 报销金额 */
    @Excel(name = "报销金额")
    private BigDecimal reimAmount;

    /** 报销类型（吃饭、打车...） */
    @Excel(name = "报销类型", readConverterExp = "吃饭、打车...")
    private String reimType;

    /** 报销批次（按月统计） */
    @Excel(name = "报销模式", readConverterExp = "报销批次")
    private String exportId;

    /** 报销模式（日常、差旅...） */
    @Excel(name = "报销模式", readConverterExp = "日常、差旅...")
    private String reimMode;

    /** 报销发票 */
    @Excel(name = "报销发票")
    private String reimInvoice;

    /** 报销支付记录 */
    @Excel(name = "报销支付记录")
    private String reimImg;

    /** 报销人（多个） */
    @Excel(name = "报销人", readConverterExp = "多个")
    private String reimUser;

    /** 实际花销人（把钱转给谁） */
    @Excel(name = "实际花销人", readConverterExp = "把=钱转给谁")
    private Long reimSpender;

    public void setReimId(String reimId) 
    {
        this.reimId = reimId;
    }

    public String getReimId() 
    {
        return reimId;
    }
    public void setReimDate(Date reimDate) 
    {
        this.reimDate = reimDate;
    }

    public Date getReimDate() 
    {
        return reimDate;
    }
    public void setReimAmount(BigDecimal reimAmount)
    {
        this.reimAmount = reimAmount;
    }

    public BigDecimal getReimAmount()
    {
        return reimAmount;
    }

    public double getReimAmountDouble()
    {
        if (reimAmount == null) {
            return 0L;
        }
        return Double.valueOf(String.valueOf(reimAmount));
    }

    public void setReimType(String reimType) 
    {
        this.reimType = reimType;
    }

    public String getReimType() 
    {
        return reimType;
    }
    public void setReimMode(String reimMode) 
    {
        this.reimMode = reimMode;
    }

    public String getReimMode() 
    {
        return reimMode;
    }
    public void setReimInvoice(String reimInvoice) 
    {
        this.reimInvoice = reimInvoice;
    }

    public String getReimInvoice() 
    {
        return reimInvoice;
    }
    public void setReimImg(String reimImg) 
    {
        this.reimImg = reimImg;
    }

    public String getReimImg() 
    {
        return reimImg;
    }
    public void setReimUser(String reimUser) 
    {
        this.reimUser = reimUser;
    }

    public String getReimUser() 
    {
        return reimUser;
    }
    public void setReimSpender(Long reimSpender)
    {
        this.reimSpender = reimSpender;
    }

    public Long getReimSpender()
    {
        return reimSpender;
    }

    public String getExportId() {
        return exportId;
    }

    public void setExportId(String exportId) {
        this.exportId = exportId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reimId", getReimId())
            .append("reimDate", getReimDate())
            .append("reimAmount", getReimAmount())
            .append("reimType", getReimType())
            .append("reimMode", getReimMode())
            .append("reimInvoice", getReimInvoice())
            .append("reimImg", getReimImg())
            .append("reimUser", getReimUser())
            .append("remark", getRemark())
            .append("reimSpender", getReimSpender())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("exportId", getExportId())
            .toString();
    }
}
